From 3f7c9e7d7eedf2e102531dbdc06331f5d4738e86 Mon Sep 17 00:00:00 2001 From: "kaf24@firebug.cl.cam.ac.uk" Date: Thu, 6 Apr 2006 11:13:33 +0100 Subject: [PATCH] Stupidly forgot there is a separate waitqueue for free pending request structures in blkback. Fix my changes to blkif_schedule(). Signed-off-by: Keir Fraser --- linux-2.6-xen-sparse/drivers/xen/blkback/blkback.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/linux-2.6-xen-sparse/drivers/xen/blkback/blkback.c b/linux-2.6-xen-sparse/drivers/xen/blkback/blkback.c index 587f49f0f2..477cab4bc6 100644 --- a/linux-2.6-xen-sparse/drivers/xen/blkback/blkback.c +++ b/linux-2.6-xen-sparse/drivers/xen/blkback/blkback.c @@ -225,8 +225,11 @@ int blkif_schedule(void *arg) while (!kthread_should_stop()) { wait_event_interruptible( blkif->wq, - (atomic_read(&blkif->io_pending) && - !list_empty(&pending_free)) || + atomic_read(&blkif->io_pending) || + kthread_should_stop()); + wait_event_interruptible( + pending_free_wq, + !list_empty(&pending_free) || kthread_should_stop()); atomic_set(&blkif->io_pending, 0); -- 2.30.2